home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / dev / lang / python020.lha / python / TODO < prev   
Text File  |  1995-10-22  |  12KB  |  476 lines

  1. (-) many module should export their symbolic constants instead of
  2. relying on a module written in Python
  3.  
  4. (-) change regexmodule.c to cooperate with other non-python users and
  5. to export the symbolic constants
  6.  
  7. (-) save/restore sys.exc_{type,value,traceback} around except clauses.
  8.  
  9. (-) don't call class instance's __del__ more than once?????
  10.  
  11. (-) add "access" to posix?  What name should it have?
  12.  
  13. (-) add facility to "freeze" lists and dictionaries?
  14.  
  15. (-) add WNOHANG to posix
  16.  
  17. (-) support lists in newgetargs()
  18.  
  19. (-) syntax errors detected during compilation should give line number
  20.  
  21. (-) dbm.open(): rwmode, filemode should be made optional; same for gdbm
  22.  
  23. (-) find a bsd hash interface
  24.  
  25. (-) posix.mkdir(): mode should be made optional
  26.  
  27. (-) find a more useful order than alphabetical for Doc/libfuncs.tex
  28.  
  29. ======================================================================
  30.  
  31. (*) use my getopt.c on Linux
  32.  
  33. (*) get Extensions/X11/Doc checked in and out
  34.  
  35. (-) investigate PPRC <URL:ftp://ftp.parc.xerox.com/pub/ppcr/>
  36.  
  37. (*) add buffering parameter to fdopen() and popen()
  38.  
  39. (-) interface to getdtablesize() in posix
  40.  
  41. (-) reentrancy with global variables vs. decref in
  42. ./Modules/cdmodule.c ./Modules/flmodule.c ./Objects/accessobject.c
  43. ./Objects/frameobject.c ./Python/traceback.c
  44.  
  45. (*) fix reentrancy in list updates?
  46.  
  47. (-) speed up regsub.gsub
  48.  
  49. (*) change md5.md5() to md5.new()
  50.  
  51. (-) try posixenviron.c and merge back into posixmodule.c?
  52.  
  53. (*) document chown()
  54.  
  55. (-) add and document chroot() ?
  56.  
  57. (*) use add gethostname_r and release thread lock when it exists
  58.  
  59. (-) Add `@CFLAGS@', `@CPPFLAGS@', and `@LDFLAGS@' to `Makefile.in'
  60.  
  61. (-) modules should be able to define a module destructor hook
  62.  
  63. (-) destroy modules in reverse order of importation?
  64.  
  65. (-) make array a standard built-in object
  66.  
  67. (-) makesetup should accept .o files without corresponding .c file
  68.  
  69. (*) use autoconf 2.0
  70.  
  71. ======================================================================
  72. Release 1.1.1 (10 Nov 1994)
  73. ======================================================================
  74.  
  75. (-) try Boehm/Dehmers/Weiser conservative garbage collector
  76.  
  77. (*) implement new 'flatten' module
  78.  
  79. (-) document new Python/C API
  80.  
  81. (*) __import__, module imp
  82.  
  83. (-) add various things to module dictionary, e.g. pathname, dictionary
  84. where found, __version__ string?
  85.  
  86. (-) pass dict of builtins to exec / execfile / eval ???
  87.  
  88. (?) stack frame correspondence problem (Jim Roskind)
  89. (probably solved by err_fetch / err_restore)
  90.  
  91. (-) make lots of places use newgetargs
  92.  
  93. (*) no tp_str member in typeobject
  94.  
  95. (-) readline 2.0 on sequent has ^C problem (works only first time)
  96.  
  97. (*) add explanatory comments to Setup (especially about SGI modules
  98. like 'cd')
  99.  
  100. (-) need to add truncate() and ftruncate() to posixmodule.c (Windows:
  101. chsize(fd, size) (solution: added to file objects instead)
  102.  
  103. ======================================================================
  104. Release 1.1 (11 Oct 1994)
  105. ======================================================================
  106.  
  107. (-) improve performance of list.append/insert etc. by keeping high/low
  108. watermark instead of realloc'ing each time?
  109.  
  110. (-) findmethod should cache (also findmember?)
  111.  
  112. (-) sysget("check_interval") is called before each method call which
  113. breaks dictlookup caching
  114.  
  115. (*) core dump on import of ridiculously long module name
  116.  
  117. (-) core dump on repr / print of deeply nested or recursive object
  118.  
  119. (*) parsing from string should calculate line numbers
  120.  
  121. (-) whrandom doc needs update
  122.  
  123. (*) mpz power is still binary insterad of ternary
  124.  
  125. (*) design interface to call arbitrary asynchronous routines
  126.  
  127. (*) whrandom.set...(0,0,0) doesn't generate random numbers
  128.  
  129. (*) Lance's latest curses additions
  130.  
  131. (*) Jack's new code:
  132.     (*) new xxmodule.c
  133.     (*) mac has type for .pyc files
  134.     (*) should run .pyc files when passed as command line argument
  135.  
  136. (*) all new all singing all dancing freeze script
  137.  
  138. (*) make clean should remove *.so and not Makefile.pre
  139.  
  140. (-) fix signalmodule.c to re-establish SIGC[H]LD handler
  141.  
  142. (*) try out Kees Blom's railroad diagram generator
  143.  
  144. (-) redesign error handling (cf. Donald's mail)
  145.  
  146. (*) do MPW and THINK still not support sys_errlist?  Indeed not (neither).
  147.  
  148. (-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c
  149.  
  150. (-) rename MPW_3_1 define (which really means 3.x)
  151.  
  152. (*) incorporate urlparse.py, uu.py
  153.  
  154. (*) rewrite instance __getattr__ etc. to store ptr in class instead of
  155. instance -- also have separate __delattr__
  156.  
  157. (-) add warning to docs about sys.exc_traceback and sys.last_traceback.
  158.  
  159. (-) Some stdwin wishes:
  160.  
  161.     (-) stdwinmodule should keep track of textedit rec's per window
  162.     (in a chain) so it can unlink them when the window is closed
  163.     before the te rec
  164.  
  165.     (-) textedit flashes at return or backspace
  166.  
  167.     (-) there's no way to show the text caret after a multi-line paste?
  168.  
  169. (*) termios module
  170.  
  171. (*) put signal patches out separately
  172.  
  173. (-) latex docs for signal module
  174.  
  175. (*) More MPW and Mac changes
  176.  
  177. (*) Sjoerd's compileall script
  178.  
  179. (-) systematically create /usr/local/lib/python/<machine>-<os>/
  180.     subdirectories, with a lib/ subdirectory containing the lib*.a
  181.     files etc.
  182.  
  183. (-) need newer DOS binary (16 bit version doesn't do default args)
  184.  
  185. (*) support for dynamically loadable libraries in makesetup and Extensions.
  186.     e.g. add a make rule to build .so files (unfortunately need to figure
  187.     out what ld option is needed) (more appropriate for makesetup
  188.     script?)
  189.  
  190. (*) Move tkinter into the standard Modules directory; Tkinter c.s. to
  191.     Lib/tkinter etc. (???)
  192.  
  193. (-) document Tk
  194.  
  195. (-) class browser
  196.  
  197. (-) interactive Python GUI (a la NT thingie)
  198.  
  199. (*) speedup finddfa (and classify?)
  200.  
  201. (-) more stuff under CVS (demo, extensions)
  202.  
  203. (*) Mac port of 1.1
  204.  
  205. (*) Mac port of STDWIN 0.9.9 to THINK C 6.0
  206.  
  207. (-) use const for char * parameters (and many more) where possible
  208.  
  209. (-) The Great Renaming!
  210.  
  211. (*) redo __xxx__ operators for class instances
  212.  
  213. (-) document __getattr__, __setattr__
  214.  
  215. (*) add __delattr__ to class instances
  216.  
  217. (-) many things that take strings should also take arrays of chars
  218.  
  219. (-) add list of existing extensions to FAQ
  220.  
  221. (-) update "recent additions" chapter in tutorial
  222.  
  223. (-) rewrite "output formatting" chapter in tutorial
  224.  
  225. (*) pass OPT from environment via configure to Makefile
  226.  
  227. (*) version.c should be recompiled for each link
  228.  
  229. (*) stropmodule should export find/rfind instead of index/rindex
  230.  
  231. (*) add __getattr__, __setattr__ to class instances
  232.  
  233. (*) fix pow(x, y, z) for integers
  234.  
  235. (*) add tuple(seq) to turn any sequence into a tuple
  236.  
  237. (*) Win32s for PC
  238.  
  239. (*) integrate NT changes
  240.  
  241. (*) write a script and add a "Make" rule (perhaps) that changes
  242.     #!/usr/local/bin/python to something else in all scripts around.
  243.  
  244. (*) int*int overflow check shouldn't doubles on alpha (cf. John Tromp's mail)
  245.  
  246. (*) add signal.alarm()
  247.  
  248. (*) when abort()ing because of unexpected exception, print a message
  249.     first (Jack)
  250.  
  251. ----------------------------------------------------------------------
  252. (from BUGS1.0.1)
  253. ----------------------------------------------------------------------
  254. (-) document addpack, urllib, ...
  255.  
  256. (*) import.c from JaapV
  257.  
  258. (*) document os.exec*
  259.  
  260. (*) name sunaudiodevmodule.c is too long
  261.  
  262. (*) play with / include SUIT interface
  263.  
  264. (-) make regsub.[g]sub() optionally case insensitive
  265.  
  266. ======================================================================
  267.  
  268. (*) ought to use features from autoconf 1.8
  269.  
  270. (*) errors in __repr__() are handled wrong when called from format
  271.  
  272. (*) long(0x80000000) has wrong value!
  273.  
  274. (-) hex(0x80000000) shouldn't have sign (?)
  275.  
  276. (*) need way to set buffering at file open time
  277.  
  278. (*) need way to force stdout unbuffered
  279.  
  280. (*) restart CVS tree
  281.  
  282. (?) build shared libs for SunOS 4.1.3
  283.  
  284. (-) dynamic linking on the Mac (is this a dream?)
  285.  
  286. (*) X patches from Adrian Phillips
  287.  
  288. (*) Jaap's freeze script
  289.  
  290. (-) Incorporate with contrib status:
  291.     - additions to glmodule by rg3h
  292.     (*) Jaap's posixfile module (with locking)
  293.     (*) pthreads interface
  294.  
  295. (-) Later:
  296.     - put the offending object in IOError and posix.error
  297.     - make module marshal work with user-defined file-like objects
  298.     - built-in help?
  299.     - hierarchical module names?
  300.  
  301. Big plans:
  302.  
  303. - allow separate interpreters (a la Xt's Applocation Contexts, and Tcl)
  304. - great renaming
  305. - complete reflexive nature of the language, e.g. have interfaces et
  306. create any kind of object
  307. (*) GUI interface a la Tk
  308.  
  309.  
  310. ======================================================================
  311. For FAQ:
  312.  
  313. (*) why don't strings (numbers, tuples, ...) have methods / attributes
  314.  
  315. (*) why are strings / numbers / tuples immutable
  316.  
  317. why don't list methods return self
  318.  
  319. ======================================================================
  320. PM/TODO list after Egypt (from mailing list):
  321.  
  322. make .pyc files executable (how?)
  323.  
  324. thread status and improvements (lock stmt; signal/wait)
  325.  
  326. optional optimizations
  327.  
  328. pthread migration
  329.  
  330. (*) test/incorporate new SUIT
  331.  
  332. shorten excessively long filenames (sunaudiodevmodule.c)
  333.  
  334. (*) default parameter values
  335.  
  336. multiple interpreter objects
  337.  
  338. (*) import shlib bug (irix5.2) (reload, dlclose)
  339.  
  340. (*) addpack.py
  341.  
  342. (*) newmodule.c (or other hacks to create new modules, classes, functions
  343.     etc. from their components)
  344.  
  345. persistency
  346.  
  347. new Dbhash.py, dbhash library
  348.  
  349. (-) reraise; or raise 3rd param for traceback?
  350.     -or- except type, value, tbackobjec
  351.  
  352. (-) redesign exceptions from scratch?
  353.  
  354. (-) dbm objects miss items(), values() methods
  355.  
  356. (*) jar's new profile
  357.  
  358. (-) answer q about coerce()
  359.  
  360. (*) reconsider pass [expression] ??? -or- don't print non-interactive
  361.     exprs -or- option to suppress printing non-None expressions
  362.  
  363. (*) should be able to hash code objs (add fns to convert between lists/tuples)
  364.  
  365. (-) describe() ?
  366.  
  367. (-) distribute demo2 with Holmes
  368.  
  369. (*) re-reply on try-continue
  370.  
  371. (-) classes are too slow
  372.  
  373. (-) add += etc. ?
  374.  
  375. optimize tuple = tuple
  376.  
  377. allow (a, b) = [1, 2] and [1, 2] = (1, 2) ???
  378.  
  379. wustl is not un the northwest of the US?
  380.  
  381. (*) MPW doesn't like \000 in string literals?
  382.  
  383. MPW patches, unixemu patches
  384.  
  385. prepare tar files with
  386.     - mac think projects (*)
  387.     - mpw makefiles
  388.     - dos makefiles
  389.     - mac unixemu lib
  390.  
  391. explain rules about == vs. 'is' for strings (* by others on the list)
  392.  
  393. (*) bug in ceval.c DELETE_FAST
  394.  
  395. (*) possible optimize LOAD_NAME -> LOAD_GLOBAL
  396.  
  397. get dos python with suit (inesc)
  398.  
  399. (*) docs for try/continue are wrong and unclear
  400.  
  401. better hashing fn?
  402.  
  403. (*) add improved nested indent to python-mode.el
  404.  
  405. (*) add a section to tutorial on "new" features
  406.  
  407. rewrite section on formatting in tutorial
  408.  
  409. ======================================================================
  410. TODO-TOO list:
  411.  
  412. test for overflow when converting python long to float
  413.  
  414. lift restrictions on tuple or list in many cases
  415.  
  416. (*) allow long ints with sensible values for getargs "i"
  417.  
  418. (*) multiline string literals
  419.  
  420. what to do about 64-bit int literals (on 64-bit machines) in .pyc
  421. files?  (Currently truncated w/o warning!)
  422.  
  423. DOCUMENTATION UPDATE!  E.g. ref.tex doesn't describe:
  424. (*)    - line joins w/o backslash
  425. (*)    - double-quoted strings; \" in strings
  426.     - more?
  427. Should double-check all changes with docs!
  428.  
  429. (?) Interrupting output still sometimes doesn't call clearerr() properly
  430.  
  431. sometimes ghost errors when interrupting during debugging in
  432. 'continue' mode?
  433.  
  434. typing a comment to a primary prompt shouldn't issue a secondary prompt
  435.  
  436. readline: add hooks to recognize Python syntax and to expand Python
  437. commands and names
  438.  
  439. should have absolute pathnames in function objects
  440.  
  441. in general check that all the exceptions are modernized and that the
  442. messages aren't giving the same error twice (e.g., stdwinmodule.c!)
  443.  
  444. - check read/write allowed for file objects
  445.  
  446. - introduce macros to set/inspect errno for syscalls, to support things
  447.   like getoserr()
  448.  
  449. ======================================================================
  450. DOS/Windows Python
  451.  
  452. (???) command line options?
  453.  
  454. (*) os.system()
  455.  
  456. (???) interrupts
  457.  
  458. (???) wrap
  459.  
  460. (*) pc module
  461.  
  462. (*) dospath.py
  463.  
  464. DOS/Windows Python -- TO DO
  465.  
  466. (*) memtest from config.h
  467.  
  468. (*) copy sources back
  469.  
  470. (*) build DOS version
  471.  
  472. (*) distribute 386 version
  473.  
  474. (*) Mac 1.0.1 release?
  475. ======================================================================
  476.